package bishizhuanyong.京东;
import sun.jvm.hotspot.debugger.win32.coff.MachineTypes;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;


//给定n个数
//要把这个数字，分解成都是1
//有两种分解方法
//1：把x分解成 x-1和x
//2：把x分解成 a和b 并且 a*b=x

//给出一组数字，问最少需要多少次，才可以
public class jingdong2 {

   /* public static int[] help;
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int n = s.nextInt();
        int[] num=new int[n];
        for (int i=0;i<n;i++)
            num[i]=s.nextInt();
        int res=0;
        help=new int[100000];
        Arrays.fill(help,Integer.MIN_VALUE);
        for (int i=0;i<num.length;i++){
            int rn=num[i];
            res+=process(num[i]);
        }
        System.out.println(res);
    }

    public static int process(int i){
        if (help[i-1]!=Integer.MIN_VALUE)
            return help[i-1];
        if (i==1)
            return 0;
        if (i==2)
            return 1;
        if (i%2==1)
            return 1+process(i-1);
        int res=0;
        while (i%2==0){
            i/=2;
            res+=2;
        }
        int z= res+1+process(i-1);
        help[i-1]=z;
        return z;
    }*/


    //看牛客上的答案写的，自己最开始写的和这个方法差不多，思路，但是没这个好，超时了
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int num= s.nextInt();
        //这里，统计了最大值，所以需要的数据，也就是把每个数分解的最小次数，最多算到max就可以
        //但是自己写的时候，是搞了一个100000个元素的数组，然后求（因为题目说最多100000个数），所以就超时了
        int max=0;
        int[] nums=new int[num];
        for (int i=0;i<nums.length;i++){
            nums[i]=s.nextInt();
            max= Math.max(max,nums[i]);
        }

        HashMap<Integer,Integer> map=new HashMap<>();
        map.put(1,0);
        map.put(2,1);
        map.put(3,2);
        map.put(4,3);
        map.put(5,4);
        //dp的过程，和自己的思路一样
        for (int i=6;i<=max;i++){
            int temp=map.get(i-1)+1;
            for (int j=2;j<=Math.sqrt(i);j++){
                if (i%j==0)
                    temp=Math.min(temp,1+map.get(i/j)+map.get(j));
            }
            map.put(i,temp);
        }
        int count=0;
        for (int i=0;i<nums.length;i++){
            int rn=nums[i];
            count+=map.get(rn);
        }
        System.out.println(count);
    }

}
